package com.wetao.trackscreendemo;

import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;

import cn.forward.androids.utils.LogUtil;

public class StringUtil {
    public static boolean isBlank(String str) {
        int strLen;
        if (str == null || (strLen = str.length()) == 0) {
            return true;
        }
        for (int i = 0; i < strLen; i++) {
            if ((!Character.isWhitespace(str.charAt(i)))) {
                return false;
            }
        }
        return true;
    }

    /**
     * @param obj return  true为空    false不为空
     * @user : wwj
     * @date : 2014-2-19
     */
    public static boolean isEmpty(Object obj) {
        if (obj != null && !"".equals(obj.toString())
                && !"null".equals(obj.toString().trim())) {
            return false;
        } else {
            return true;
        }
    }

    /**
     * 计算换行符
     * @param str
     * @return
     */
    public static int countN(String str) {
        int count = 0;
        for (int i = 0; i < str.length(); i++) {
            if ('\n' == str.charAt(i)) {
                count++;
            }
        }
        return count;
    }


    /**
     * 截取字符串str中指定字符 strStart、strEnd之间的字符串
     *
     * @param str
     * @param strStart
     * @param strEnd
     * @return
     */
    public static String subString(String str, String strStart, String strEnd) {

        /* 找出指定的2个字符在 该字符串里面的 位置 */
        int strStartIndex = str.indexOf(strStart);
        int strEndIndex = str.indexOf(strEnd);

        /* index 为负数 即表示该字符串中 没有该字符 */
        if (strStartIndex < 0) {
            return "字符串 :---->" + str + "<---- 中不存在 " + strStart + ", 无法截取目标字符串";
        }
        if (strEndIndex < 0) {
            return "字符串 :---->" + str + "<---- 中不存在 " + strEnd + ", 无法截取目标字符串";
        }
        /* 开始截取 */
        String result = str.substring(strStartIndex, strEndIndex).substring(strStart.length());
        return result;
    }

    public static String StringMarkIndexFilter(String str, boolean isPre0) throws PatternSyntaxException {
        //Logger.i("1---->" + str);
        str = str.replaceAll("\\s*\\.\\s*", "");
        str = str.replaceAll("\\s*．\\s*", "");
        //Logger.i("2---->" + str);
        if(str == null || "".equals(str)) {
            str = "";
        }
        str = str.trim();

        //Logger.i("3---->" + str);

        Pattern p = Pattern.compile("^[0-9]*$");
        Matcher m = p.matcher(str);
        if(!"".equals(str)) {
            if(m.matches()) {
                int i = Integer.parseInt(str);
                if(i < 10 && i > 0 && isPre0) {
                    str = "0" + i;
                } else {
                    str = i + "";
                }
            }
        }
        return str;
    }

    public static String StringDetailHtml(String str) throws PatternSyntaxException {
        LogUtil.i(str);
        if(str == null || "".equals(str)) {
            str = "";
        } else {
            //str = str.replaceAll("(?i)src=\\\\\"", "src=\\\\\"http://sundata.forclass.net/");
            //str = str.replaceAll("(?i)src=\\\\\"", "src=\\\\\"http://sundata.learndar.com/");
            //str = str.replaceAll("(?i)\"", "'");
            //str = str.replaceAll("(?i)style='", "style='word-break:break-all; ");
        }
        LogUtil.i(str);
        return str;
    }
    /**
     * 去掉字符串里面的html代码。<br>
     * 要求数据要规范，比如大于小于号要配套,否则会被集体误杀。
     *
     * @param content 内容
     * @return 去掉后的内容
     */

    public static String stripHtml(String content) {
        if(!isEmpty(content)){
            // <p>段落替换为换行
            content = content.replaceAll("<p .*?>", "\r\n");
            // <br><br/>替换为换行
            content = content.replaceAll("<br\\s*/?>", "\r\n");
            // 去掉其它的<>之间的东西
            content = content.replaceAll("\\<.*?>", "");
            // 还原HTML
            // content = HTMLDecoder.decode(content);
            //&ldquo;&quot;&nbsp;
            content = content.replaceAll("&.dquo;", "\"");
            content = content.replaceAll("&nbsp;", " ");
        }

        return content;
    }

    /**
     * 截取时间
     */
    public static String transDate(String time){
        String[] times = time.split(" ");
        int index = times[0].indexOf("-");
        String tempDate = times[0].substring(index+1,times[0].length());
        String tempTime = times[1].substring(0,times[1].lastIndexOf(":"));
        return tempDate + " " + tempTime;
    }
}
